home *** CD-ROM | disk | FTP | other *** search
/ Light ROM 1 / LIGHT-ROM 1 (Amiga Library Services)(1994).iso / ffdisks / d949.lha / BBBBS / BBBBS.DOC next >
Text File  |  1993-12-20  |  38KB  |  956 lines

  1.                               5 Sep 1993
  2.  
  3.     BBBBS - Baud Bandit Bulletin Board System for the Amiga - BBBBS
  4.  
  5. *****************************  Features  *****************************
  6.  
  7. Up to 99 file libraries with extended filenotes.
  8. Up to 99 fully threaded message conferences.
  9. Number of users, files, messages, etc. are only limited by storage space.
  10. Controlled file library and message conference access for users & sysops.
  11. Interface to extra devices like CD-ROM & others, all treated as Read-Only.
  12. Complete Email area including binary mail, and multiple forwarding.
  13. User statistics including messages written, files ul/dled, time, etc.
  14. RexxDoors sub-area, Grin_du_Jour, StarTrek, Wheel_Of_Fortune, much more!
  15. Searches: Search users, file descriptions, or messages.
  16. Online Text Editor: with Cut and Paste, Replace, and Spellchecking.
  17. Selectable Auto-validation using Call Back Verify.
  18. Separate multi-tasking module for local sysop logon.
  19. User profiles, Polling_Place (a voting booth), background archiving.
  20. Complete offline read/reply/upload/download module, bbsQUICK.rexx.
  21.  
  22.  
  23.  
  24. *****************************  Contents  ****************************
  25.  
  26.  1. Copyright and Distribution Information
  27.  
  28.  2. Requirements
  29.  
  30.  3. Organization
  31.  
  32.  4. Setting Up
  33.  
  34.  5. User data
  35.  
  36.  6. bbsLOCAL.rexx
  37.  
  38.  7. Macros
  39.  
  40.  8. rexxDoors
  41.  
  42.  9. Additional Notes
  43.  
  44.       a. RexxSpell
  45.  
  46.       b. FileLists 
  47.  
  48.       c. Links
  49.  
  50.       d. Birthdays
  51.       
  52.       e. Sounds
  53.       
  54.  
  55. ********************  Copyrights and Distribution  ********************
  56.  
  57. The ARexx modules in BBBBS are copyright 1990-91-92 Richard Lee Stockton,
  58. and ALL RIGHTS ARE RESERVED. In particular, commercial use of these
  59. programs requires a written agreement with the author. HOWEVER, these
  60. files may be freely distributed and used for non-commercial purposes
  61. AS LONG AS the copyright notices contained within the code remain intact.
  62.  
  63. To contact me for distribution or just more information:
  64.  
  65.                 Richard Lee Stockton
  66.                 21305 60th Ave West
  67.                 Mountlake Terrace, WA 98043-2009
  68.                 
  69.                 Phones:
  70.                 voice = 206-776-1253
  71.                 FAX   = 206-775-7573
  72.                 BBS   = 206-744-1254
  73.                 
  74.                 Telecomm:
  75.                 call the BBS number above and leave a [C]omment to sysop.
  76.                 - OR - send Email to RLStockton on PORTAL or BIX or GENIE
  77.                 - OR - (if you MUST), my Compu-$erve address is 71650,424
  78.  
  79.  
  80.  
  81. ******************   Requirements for operation   ************************
  82.  
  83. BBBBS Requirements:    Assumes standard 1.3 or 2.0 Amiga OS
  84.  
  85. RAM: ~2.5 MEGS of RAM to run. 2.0 MEG without spellchecking.
  86.  
  87. Commercial Software:
  88. (I have *nothing* to do with these, except for using them.)
  89.   BaudBandit  1.50 - $50 retail, ~$30 discounted
  90.   ARexx       1.15 - $50 retail, ~$30 discounted
  91.  
  92.  
  93. Freely Distributable Software:
  94. (comes with BBBBS or are easily found in the PD)
  95.   BBBBS.LZH
  96.     rexx  (must be in your rexx: drawer)
  97.       Answer.baud
  98.       ArcAlpha.rexx
  99.       ArcBrowse.rexx
  100.       ArcMsgs.rexx
  101.       baud.rexx
  102.       BBBBS.baud
  103.       BBBBSdemon.baud
  104.       bbsALPHA.rexx
  105.       bbsArcExt.rexx
  106.       bbsArcSTOP.rexx
  107.       bbsDoors.rexx
  108.       bbsExtDL.baud
  109.       bbsHOURLY.rexx
  110.       bbsLOCAL.rexx
  111.       bbsLOGOFF.baud
  112.       bbsLOGON.baud
  113.       bbsMAINT.baud
  114.       bbsNewFile.rexx
  115.       bbsQUICKIN.rexx
  116.       bbsQUICKOUT.rexx
  117.       bbsREPORT.rexx
  118.       bbsSounds.rexx
  119.       bbsSpeak.rexx
  120.       bbdsSTATS.rexx
  121.       bbsULDL.rexx
  122.       bbsUSER.rexx
  123.       bbsSTAT.rexx
  124.       BuildALPHA.rexx
  125.       BumpLevels.baud
  126.       BumpTime.baud
  127.       ChangeUserName.rexx
  128.       Contents.rexx
  129.       EditUsers.rexx
  130.       ForceChat.baud
  131.       Make_BrowseList.baud
  132.       OldEMail.rexx
  133.       PhoneDupes.rexx
  134.       SendFile.rexx
  135.       Setup.rexx
  136.       ShowFKeys.baud
  137.       ShowHourly.rexx
  138.       ShowLog.baud
  139.       TestArc.rexx
  140.       ToggleNoise.rexx
  141.  
  142.     rexxDoors  (these are needed for opening and closing cookie, etc.)
  143.       Data (DIR)
  144.         Grins
  145.       Grin_du_jour.rexx
  146.       Moon.rexx
  147.       Time.rexx          NOTE! Many other rexxDoors in BBDoors<nn>.lha
  148.  
  149.  
  150.   libraries (must be in your system Libs: drawer)
  151.     arp.library           (VERS 39.1  by CHeath & others on bbs everywhere)
  152.     rexxarplib.library    (VERS  3.0  by Willy Langeveld on bbs everywhere)
  153.     screenshare.library   (VERS  1.52 comes with rexxarplib)
  154.     rexxmathlib.library   (VERS  1.3  by Willy Langeveld on bbs everywhere)
  155.     rexxsupport.library   (VERS 34.9  comes with ARexx 1.15)
  156.     rexxsyslib.library    (VERS 36.23 comes with ARexx 1.15)
  157.  
  158.   commands (must be in your system C: drawer
  159.     QuickSort             (by Marvin Weinstein - ARexxQSort.lzh)
  160.     sound                 (by RLStockton, needed to play BBS Yell.snd)
  161.     boot                  (optional: warm-boots if BBBBS seems frozen)
  162.     lha                   (freely distributable de-archivers...)
  163.     arc
  164.     zoo
  165.     unzip
  166.     dms
  167.  
  168.  
  169. **************************  Organization  **********************************
  170.  
  171. BBS:
  172.  
  173.   BBBBS looks in your s: directory for the file "CONFIG.BBS" which sets all
  174.     preferences including the device where the BBS files are located.
  175.   Within this device, the BBS may use 99 file & 99 message directories.
  176.    (if S:CONFIG.BBS is not found, BBBBS looks for BBS:BBS_TEXT/CONFIG.BBS
  177.      and if THIS file is not found, BBBBS will give up and quit).
  178.   Users may be given access levels between 0 (new user) and 99 (super-sysop).
  179.   The lowest sysop level (gets to edit filenotes, maybe edit messages
  180.     depending on level) defaults to 80. Level 99 (and only level 99!) is
  181.     allowed to open a remote Shell and the power to edit ANY file remotely.
  182.   Uload/Dload access to libraries & conferences at or below the user's level.
  183.   Also, a sysop may exclude certain directories from the user's use.
  184.     (file libraries by name, or message conferences by number)
  185.  
  186.  
  187. BBS System File Directories:
  188.  
  189. 'Sysops'       = Holds files for sysop review.
  190.  
  191. 'Information'  = User viewable files. 'I' from the Main Menu.
  192.  
  193. 'Scratch'      = temporary editor files, etc. For debugging.
  194.  
  195. 'BBS_HELP'     = Command summary files, according to level.
  196.  
  197. 'rexxDoors'    = rexx doorway programs
  198.                   Grin_du_Jour.rexx      = 'one-liner' humor
  199.                   Moon.rexx              = the phase of the moon
  200.                   Time.rexx              = the time in words
  201.  
  202.                   rexxDoors/Data/Grins   = data for 'Grin_du_Jour.rexx'
  203.  
  204.                   ...other rexxDoors available in "BBDoors.lha"
  205.  
  206.  
  207. 'BBS_TEXT'     = Text (mostly) files used by the BBS.
  208.                   HELLO          = Sign on message. (19 lines max!)
  209.                   NEW            = New user welcome message.
  210.                   YELL.snd       = (optional) Yell-For-Sysop sound.
  211.                   YELL           = (optional) Yell voice script.
  212.                   WELCOME        = default welcome message
  213.                   WELCOME.Mon, WELCOME.Tue, ..., WELCOME.Sun
  214.                                  = Daily Welcome messages.
  215.                   WELCOME.1225   = Christmas welcome msg., etc.
  216.                   UNTIL.19920201 = displays at logon through Feb 1, 1992
  217.                   GOODBYE        = Logoff message. (local BBS numbers)
  218.                   DEF.NEW_USER   = new user defaults
  219.                   DEF.MEMBER     = member defaults
  220.                   DEF.COURTESY   = courtesy list defaults
  221.                   BIRTHDAY       = displays on user's birthday
  222.                   PROFILES       = intro message to user profiles area.
  223.  
  224. 'FileNotes'    = A dir of dirs. Each dir corresponding to a
  225.                   file library. Within each, a file desciption
  226.                   of the corresponding file in the library.
  227.                   Written by BBBBS.baud, but editable.
  228.  
  229. 'BBS_LIBS'     = Up to 99 file libraries. You select the names of
  230.                   these by editing the file 'BBS:Lists/Libraries'.
  231.                   The BBS sees them by name.
  232.                                 
  233. 'BBS_MSGS'     = Up to 99 message conferences. You select the
  234.                   names of these by editing the file
  235.                   'BBS:Lists/Conferences', but the BBS sees
  236.                   them as MSG1 thru MSG99.
  237.  
  238. 'Lists'        = System lists and lists needed by bbsREXX.
  239.                   Libraries    = see example for proper format
  240.                   Conferences  = see example for proper format
  241.                   Files        = THIS FILE IS WRITTEN BY BBBBS.baud.
  242.                    Under normal circumstances it should NOT be edited
  243.                    by humans.   format: 'filenum dirname filename'
  244.                   Files.ALPHA  = written by BBBBS.baud
  245.                   Courtesy     = List of VIP usernames. A new
  246.                    user on this list is given immediate access.
  247.                    That name is then removed from this list.
  248.                   Excuses      = list of randomly selected reasons why
  249.                    the sysop cannot CHAT right now.
  250.  
  251. *** Following dirs contain files written by BBBBS.baud. DO NOT EDIT! ***
  252.  
  253. 'Numbers'      = LastFile, LastMail, LastMessage1, etc.
  254.                  Also a dir called "Hourly" that contains data
  255.                   for the "average minutes of use per hour" graph.
  256.  
  257. 'Usage'        = Monthly files. Counts hours of modem usage.
  258.  
  259. 'Logs'         = Daily files. Tracks user, time, mail or message activity,
  260.                   uloads/dloads, internal errors, etc.
  261.                   Built in 'log-reader' for sysops.
  262.  
  263. 'EMailFiles'   = Private files left attached to EMail.
  264.  
  265. 'EMail'        = Private mail between users.
  266.  
  267. 'Users'        = User files.
  268.  
  269.  
  270.  
  271. ***************************  Setting Up  *****************************
  272.  
  273. Follow these steps to set up your own BBS..
  274.  
  275. 1. Do Initial Setup  (assumes that bbspath is "BBS:")
  276.  
  277.       a. CD to BBS:            ; the directory to de-lharc the bbs into
  278.  
  279.       b. Lha x BBBBSnn.lha     ; extract respecting original paths
  280.  
  281.       c. COPY BBS:rexx/QuickSort C:    ; ARexx QuickSort
  282.  
  283.       d. COPY BBS:C/#? C:      ; Sound and other C: type programs
  284.  
  285.       e. COPY BBS:S/#? S:      ; Bandit.Keys, Bandit.Config
  286.  
  287.       f. COPY BBS:BBS_TEXT/CONFIG.BBS S: ; or leave alone if BBS: is assigned
  288.  
  289.       g. COPY BBS:rexx/#? REXX:  ; NOTE: 560K of rexx programs!
  290.       
  291.       h. COPY BBS:libs/#? LIBS:  ; needed PD libraries
  292.       
  293. 2. Make sure that "C:DATE" returns the correct time and date. The BBS
  294. needs to know the correct time and date for many of its routines.
  295.  
  296. 3. Use a Text editor to edit the following lists. These lists can be
  297. changed or edited anytime. The libraries may be re-ordered at any time,
  298. but the message conferences can only be added to, not re-shuffled. That
  299. is, once you associate a message conference title with its number, and
  300. messages are actually written to that conference, you MUST keep that same
  301. number associated with that conference title. (This is because messages
  302. are kept in MSG1, MSG2, etc. while files are kept in directories created
  303. with the title that YOU give it.  Note: No spaces are allowed in titles).
  304. You may change the CONFERENCE title, but the old messages in that
  305. conference will still refer to the old title. It is possible to change
  306. a LIBRARY title, but you also have to rename the directory, and update
  307. all references to the old dir (which can be quite a few!), so I advise
  308. against it.  Use care in all title selections and save yourself future
  309. problems with re-naming.
  310.  
  311.      a. BBS:Lists/Conferences    (message conference names)
  312.  
  313.      b. BBS:Lists/Libraries    (file library names)
  314.  
  315. Note: If you wish to review uploaded files before public posting, you need
  316.       to be certain that the highest possible non-sysop directory is called
  317.       "Sysops", as this is where new uploads will be saved.
  318.  
  319.      c. BBS:Lists/Courtesy   (these names receive INSTANT validation)
  320.  
  321.      d. BBS:Lists/Excuses  (good reasons why the sysop can't chat right now)
  322.  
  323. 4. Use a Text editor to edit "S:CONFIG.BBS" to your preferences.
  324. IMPORTANT! Test your "c:info" from the CLI with your "info-compatible"
  325. device name to make sure that the blocks free amount is being returned.
  326. See BBS_TEXT/CONFIG.BBS for line by line a description of the options.
  327. Note that if line 30 of the config is 1, the BBS stays "up" all the time,
  328. which means the CONFIG.BBS and the various Lists are not reloaded each
  329. call. DO NOT change the file libraries using bbsLOCAL.rexx while the BBS
  330. is in resident mode as this will confuse the BBS and files will be lost.
  331. To exit resident, use SHIFT-F2 from BaudBandit to setclip BBS_QUIT=QUIT.
  332. It may take up to two minutes for BBBBS to notice that it is supposed to
  333. unload before it will actually halt the rexx process. Watch for the blue
  334. dot to disappear from the upper right part of the BaudBandit titlebar.
  335.  
  336. If you want the default sysop name to be something other than "SYSOP":
  337.   a. The name should be in all caps with the "_" character substituted for
  338.        spaces. (ie, RICHARD_LEE_STOCKTON).
  339.   b. Then, put "SYSOP" in the exclusion list to make sure no one else can
  340.        use "SYSOP" as their user name.
  341.   c. Delete the file "Users" in the "Lists" drawer of the BBS.
  342.   d. Finally, Rename BBS:Users/SYSOP BBS:Users/<your sysop name>
  343.  
  344. 5. Use the Text editor on the following textfiles to be read by the user.
  345.  
  346.     a. BBS:BBS_TEXT/HELLO     /* this is the title message */
  347.  
  348.     b. BBS:BBS_TEXT/NEW       /* message to new users */
  349.  
  350.     c. BBS:BBS_TEXT/WELCOME   /* once-a-day welcome to users */
  351.  
  352.     d. BBS:BBS_TEXT/GOODBYE   /* last thing the user sees */
  353.     
  354.     e. BBS:Information/SYSTEM_INFO   /* what Amiga model, OS, etc */
  355.  
  356. 6. You may also wish to edit the default user files in the BBS_TEXT drawer,
  357.     but I suggest leaving them alone until you gain a better understanding
  358.     of the BBS system.
  359.  
  360.     a. DEF.NEW_USER   /* all lines are used */
  361.  
  362.     b. DEF.COURTESY   /* all lines are used */
  363.  
  364.     c. DEF.MEMBER     /* ONLY time, level, and exclude_dirs are used */
  365.  
  366. 7. Start the LOCAL BBS by typing  "rx bbsLOCAL SETUP". Enter "sysop"
  367. (or the name you changed it to) when asked to enter your name, then
  368. enter "password" when asked for a password. This will construct the
  369. directories you specified in BBS:Lists/Libraries, (if they don't already
  370. exist).. likewise, the message conferences will be constructed, if needed.
  371. You will then enter the bbs _AS IF_ it were running from the modem,
  372. although Baud Bandit is not needed at all.
  373.  
  374. 8. Select "Y" to edit your personal data. CHANGE YOUR PASSWORD!!
  375.  
  376. 9. Read the BBBBS.COMMANDS file in [I]nformation for general command
  377. information, and take a look around the board. Try out some things a
  378. user would try.
  379.  
  380. 10. Use "G" to logoff which will rewrite your user file.
  381.  
  382. 11. Start BaudBandit. Check BB's Macro display. The important thing
  383. here is to make sure that "\mAnswer.baud" is in "RING" portion of BB's
  384. configuration.
  385.   2400 baud (and below) operation:
  386.     Handshake should be set to "NONE" (otherwise CTRL-S can hang the BBS).
  387.     AutoBaud should be set to "ON" and the baud rate to the same value
  388.      you have set in BBS:BBS/CONFIG as the Maximum baudrate.
  389.   9600 baud (and above) operation:
  390.     Handshake should be set to "7-Wire".
  391.     AutoBaud should be set to "OFF" and the baud rate set to the maximum
  392.      "terminal-to-modem" baudrate (19200 max for less than 68020 cpu).
  393.     I have used Practical Peripherals modems and the setup strings are:
  394.        9600SA    AT &F M0 &C1 &D3 S95=47 &W
  395.       14400FXSA  AT &F M0 W1 &C1 &D3 &T5 S37=11 S95=47 S118=2 &W
  396.  
  397.         &F      = factory defaults
  398.          M0     = turn speaker off  [optional]
  399.          W1     = enable progress messages
  400.         &C1     = track DCD
  401.         &D3     = monitor DTR and reset to power up conditions
  402.         &T5     = disable remote testing  [optional]
  403.          S37=11 = highest modem to modem rate is 14400
  404.          S95=47 = all progress messages and modem-modem speed report
  405.          S118=2 = LCD display 2 seconds per line of info.  [optional]
  406.         &W      = save to modem RAM so ATZ will recall these settings
  407.   
  408.      These may or may not work for you, but at least it's a place to start.
  409.      Note that you only have to give this command once, then the "ATZ"s
  410.       that BBBBS sends will reset your modem to this default.
  411.  
  412. There are Bandit.Config files provided for both 9600/14400 and 2400.
  413. If you make any changes remember to save them.
  414.  
  415. NOTE! Your modem MUST be set so that you can see verbose responses from
  416. your modem on your BB screen (ie, RING, CONNECT 9600/ARQ (or whatever),
  417. NO CARRIER, OK, etc). THIS IS _THE_ MOST COMMON MISTAKE THAT WOULD-BE
  418. SYSOP SEEM TO MAKE! Also, baudrates reported by the modem should be the
  419. modem-to-modem baudrate. Correct BBS operation depends on these messages.
  420.  
  421. 12. If you have RAM to spare, give yourself a large capture buffer in
  422. BaudBandit, especially if you will be debugging. You can use BB's
  423. review buffer to study what the user did, in what order, and what
  424. happened. I have mine set to about 150k..
  425.  
  426. 13. To set up the BBS to start automatically in the background, add
  427. these lines to your startup-sequence:
  428. (assumes that BaudBandit is in the BBS: drawer)
  429.  
  430.     assign rexx: dh0:rexx  ; Edit dh0:rexx to YOUR rexx drawer.
  431.     rx setup
  432.     BBS:BB                 ; Edit this to YOUR BaudBandit path
  433.     WaitForPort BAUD
  434.     ;rx Baud OFF  ; uncomment this line to close BB's screen after startup
  435.     run rx "ADDRESS BAUD;Send '\mBBBBS.baud'"
  436.  
  437. 14. You may also wish to install BBDoorsnn.lha (extra rexxDoors for BBBBS),
  438. SpellBBS.lzh (the spell-checker), and TODAY.lha ("today in history" program).
  439. Also note that many BBBBS sysops have written various alterations, rexxDoors,
  440. sysop-help programs, and more. Search your BBS for the keyword "BBBBS".
  441.  
  442. 15. At last, nothing left to do but sit back and wait for callers, and soon
  443. become beloved sysop to billions of users...  ;-)  ;-)
  444.  
  445.  
  446.  
  447. *********************  User data file  ***************************
  448.  
  449.  1. name:
  450.  2. street:
  451.  3. city, st zip:
  452.  4. phone:
  453.  5. password:  (only visible by user and super-sysop)
  454.  6. protocol:
  455.  7. lines per page:
  456.  8. preferences:   may include MENU or MENUS, COLOR, STREET, PHONE
  457.  9. Computer:
  458. 10. Interests:
  459. 11.     Time: <nn> minutes <nn> more times today
  460. 12. first date on: datestamp  timestamp
  461. 13.  last date on: datestamp  timestamp
  462. 14.   upload: <nn> files <nn> bytes  day month year
  463. 15. download: <nn> files <nn> bytes  day month year
  464. 16. lastfile: lastfile  datestamp  timestamp
  465. 17. rtio/eml: dl/ul_ratio  email_written  last_email_read_(sysop_only)
  466. 18. winnings: <nn>
  467. 19.  time on: <nn> days <nn> hours <nn> minutes in <nn> calls.
  468. 20.    level: <nn>
  469. 21. exclude list: msg conf by number, file lib by name, space separated
  470. 22. msg_read: MSG1 MSG2 MSG3 ... MSG<last> (-1 in MSGslot = conference OFF)
  471. 23. msg_writ: MSG1 etc.
  472. 24. msg_mark: MSGdirnum/MSGnum MSGdirnum/MSGnum... (conf msgs TO this user)
  473. 25. used to temporarily store filelist to be downloaded.
  474. 26. QUICK exclude list  (files excluded from bbsQUICKOUT archives)
  475. 27. List of CBV numbers attempted by this user (if any).
  476.  
  477. Default data for New Users is stored in BBS_TEXT/DEF.NEW_USER
  478. Default data for Courtesy List Users is stored in BBS_TEXT/DEF.COURTESY
  479. Only lines 6-22 of these files are used, the rest are ignored.
  480.  
  481. Default data for Members is stored in BBS_TEXT/DEF.MEMBER
  482. Only lines 11, 20, 21 and 22 of this file is used, the rest are ignored.
  483.  
  484.  
  485. **********************  bbsLOCAL.rexx  ***************************
  486.  
  487. This is a multi-tasking (within limits, see below) rexx program that
  488. you as the sysop may run from a Shell or CLI. In most ways it is just
  489. like the regular BBS program, so you see what your users see. However,
  490. it is not connected to BaudBandit in any way, and in fact, does not
  491. use the serial port (or your modem) at all. Upload and download functions
  492. are transmuted into copy (with the arp requester), and some functions
  493. are left out (like the check for DCD, etc.).  It DOES look at the same
  494. data that BBBBS.baud looks at, and reasonable care must be taken not
  495. to add files to the file libraries while a user is also adding a file
  496. to the libraries. Likewise, don't write EMail while the user is writing
  497. email, and don't write messages while the user is writing messages IN
  498. THE SAME CONFERENCE (messages CAN be written in different conference at
  499. the same time, one by user, one by sysop).
  500.  
  501.          CLI> rx bbsLOCAL SETUP
  502.  
  503.  
  504. Copying Files Direct Into the Libraries:
  505.  
  506. METHOD 1:
  507.      Run bbsLOCAL and use the Upload command. The arp file requester
  508. will appear so you can copy the files into the correct libraries. After
  509. the copy, you will enter a note just as if you uploaded the file, and
  510. the system filelists will be updated.
  511.  
  512. METHOD 2:
  513.     First copy the files to the correct libraries. Then run bbsLOCAL
  514. (or call) and edit (in this case, create) the file description using
  515. the "%" sysop command.
  516.  
  517. In either case, when BBBBS sees that this note has been created,
  518. it adds the file to the other system filelists, and increments the
  519. count in "Numbers/LastFile".
  520.  
  521.  
  522.  
  523. *************************  Macros  *******************************
  524.  
  525. Note that if called from BB with a user online, these macros will not
  526. take effect if the user is waiting at a menu. You can press return
  527. yourself to force the macro if it looks like the user is sleeping
  528.  
  529.  - Function Keys -
  530.  
  531. F1 - ForceChat.baud - Forces user into chat at next prompt.
  532.  
  533. F2 - Twit.baud - TWIT-KEY, forces logoff of current user at next prompt.
  534.  
  535. F3 - BumpTime.baud - Opens a requester allowing you to set this users
  536.        maximum time in minutes for this session. It will take effect at
  537.        the next prompt. This is a temporary change, this session only.
  538.  
  539. F4 - BumpMember.baud - Member values are taken from "BBS_TEXT/DEF.MEMBER".
  540.        Takes effect at the next prompt. This change is saved to the users
  541.        data file. It is permanent.
  542.  
  543. F5 - BumpLevels.baud - Opens a requester allowing you to set the level and/or
  544.        upload to download ration for this user. It will take effect at the
  545.        next prompt. This change is permanently saved to the users data file.
  546.  
  547. F6 - Close Function Key Help Window
  548.  
  549. F7 - ShowLog.baud - Displays today's log on BB's screen, BBS running or not.
  550.  
  551. F8 - An inline macro to fetch the clip "BBS_totalusage" and display monthly
  552.        usage in hours and minutes.
  553.  
  554. F9 - Baud.rexx OFF - Turns BaudBandit's screen off (improves speed). While
  555.        the screen is off THE CAPTURE BUFFER STAYS OPEN! This means you can
  556.        leave the screen off for fastest response, then, when the modem tells
  557.        you the user has logged off, turn the screen on again (from CLI
  558.        "rx Baud") and read the review buffer (SHIFT-HELP).
  559.  
  560. F10 - Opens a Function Key Help Screen on BaudBandits screen.  F6 to close.
  561.  
  562.  
  563.  - SHIFTED Function keys -
  564.  
  565. S1 - Starts up BBBBS.baud.
  566.          WARNING! Don't start BBBBS while it is already running in this BB!
  567.  
  568. S2 - Sets the "UnLoad" flag.
  569.        BBBBS will exit after the current call, or within 60 seconds.
  570.  
  571. S3 - UnSets the UnLoad flag (in case you change your mind)
  572.  
  573. S4 - Toggles BBBBS sounds and voice ON/OFF.
  574.  
  575. S5 - Opens a window on BaudBandit that lists the background archive
  576.       processes currently running, by username and type of process,
  577.       and allows aborting any or all of them.
  578.  
  579. S6 - Set the modem "off-hook". Users see busy signal.
  580.  
  581. S7 - Reset modem to "on-hook" (hangup).
  582.  
  583. S8 - Display total RAM available on the screen, chip+fast.
  584.  
  585. S9 - Close the editor buffer a user opens to write messages, etc.
  586.  
  587. S10 - Enter message to be sent to current user at first opportunity.
  588.  
  589.  
  590.  
  591.                      ---  Other Macros  ---
  592.  
  593. BuildALPHA.rexx - rebuilds the file & alpha lists from the ground up.
  594.    BBBBS should preferably not be running so that a user won't upload in
  595.     the middle of your rebuild and overwrite the list. This macro sets
  596.     a clip that forces BaudBandit to give a BUSY message to any caller.
  597.     After buildALPHA.rexx is finished, the clip is cleared, and BBBBS
  598.     will go back online.
  599.     BuildALPHA.rexx may take a while. 1400 files=15 mins on 68000 Amiga.
  600.  
  601. bbsULDL.rexx - Reads the CURRENT file library descriptions and writes
  602.    statistics to "Information/STATS.ULDL". This will happen automatically
  603.    once a day if STATS.ULDL exists! To disable this function, just delete
  604.    "Information/STATS.ULDL".
  605.  
  606. bbsUSER.rexx - Reads the CURRENT userfiles and writes statistics to
  607.    "Information/STATS.USER". This will happen automatically once a day
  608.    if STATS.USER exists! To disable this function, just delete the file
  609.    "Information/STATS.USER".
  610.  
  611. ChangeUserName.rexx - To change the user name HACK_MASTER", from a CLI
  612.     enter "rx ChangeUserName HACK_MASTER". Just press return to use his/her
  613.     real name, or enter the new name. UserFile, Email and EmailFiles will
  614.     be updated.  This function may also be accessed from within BBBBS.
  615.  
  616. bbsREPORT.rexx - Constructs a report of inactive users and saves it as
  617.     email to sysop. NOTE: If "VIP_USER" appears on the user-data line that
  618.     contains the excluded libraries, that user will be excluded from the
  619.     list of inactive users. If a file report is requested, the file libs
  620.     will be counted and searched for possible problems. This entire report
  621.     is run as a background process thru the AREXX port and the resulting
  622.     archive left as email with an attached file.
  623.  
  624. BBBBSdemon.baud - Runs independently of BBBBS.baud and looks for a
  625.     condition where there is no user online, but BBBBS hasn't reset, and
  626.     tries to fix it. If it fails to fix it after a few tries then c:boot
  627.     is run. If c:boot does not exist, the demon runs "c:hi" which tries to
  628.     halt all currently running rexx programs.
  629.  
  630. OldEmail.rexx - Run from CLI to list Email (and emailfiles) older than a
  631.     given number of days. Output may be redirected to a file. The sysop is
  632.     also given the chance to delete each selected email or emailfile.
  633.  
  634. bbsQUICK.rexx - Offline read/reply module for BBBBS.
  635.     See the bbsQUICK.DOC and bbsQUICK.REVISION for more info.
  636.  
  637. bbsQUICKIN.rexx - Processes QUICKIN.lha archive uploaded by user. The
  638.     Super-Sysop can copy her/his QUICKIN.lha file by hand to his/her
  639.     EmailFiles drawer and then type "rx bbsQUICKIN" in a CLI/Shell to
  640.     process as if it had been uploaded by the super-sysop.
  641.  
  642. bbsQUICKOUT.rexx - Constructs archive of latest BBS activity for the
  643.      use of bbsQUICK.rexx. You can just type "rx bbsQUICKOUT" in a
  644.      CLI/Shell and a QUICKOUT archive will be constructed for the
  645.      sysop using his/her current file and message counters.
  646.  
  647. PhoneDupes.rexx - compare all user phone numbers and show duplicates.
  648.  
  649. ToggleNoise.rexx - Toggles BBBBS sounds and voice ON/OFF from CLI or
  650.      from BaudBandit. (SHIFT-F4)
  651.  
  652. bbsArcSTOP.rexx - Display running background archiver processes and
  653.      allow abort of any or all. From BaudBandit (SHIFT-F5) or CLI.
  654.  
  655. bbsDoors.rexx - Use rexxDoors offline without loading bbsLOCAL.rexx
  656.  
  657.  
  658.            ------- Internal Macros run ONLY by BBBBS --------
  659.  
  660.   bbsLOGON.baud - Runs right after the password is entered. You can
  661.      have your own ARexx (or whatever) routines run here.
  662.      See bbsLOGON.baud for more information on usage.
  663.  
  664.   bbsLOGOFF.baud - Runs just before user logs off (before GOODBYE text).
  665.      See bbsLOGOFF.baud for more usage information.
  666.  
  667.   bbsALPHA.rexx - Controls the archiving of the alpha filelist. If a
  668.      name and path is given for an arcfile, "Lists/Files.ALPHA" will
  669.      be archived into it using the archiver in the config file.
  670.  
  671.   bbsMaint.baud - Runs if the current messages online exceed the maximum
  672.      set in "CONFIG.BBS". Deletes the oldest messages that don't have the
  673.      "SaveMe!" flag set (2 exclamation points as the first 2 characters).
  674.  
  675.   ArcMsgs.rexx - Archives new (or selected) messages from the conference
  676.      area using Lharc. This is done as a background process using the AREXX
  677.      port, and the resulting archive left as email with an attached file.
  678.  
  679.   MakeBroweList.baud - Archives user selected file descriptions using
  680.      Lharc. This is done as a background process using the AREXX port,
  681.      and the resulting archive left as email with an attached file.
  682.  
  683.   bbsHourly.rexx - graphic display of average minutes of use hour by hour.
  684.  
  685.   Contents.rexx - Display the contents of an archived file
  686.      (.arc .dms .lha .lzh .zip .zoo) assuming appropriate c: programs.
  687.  
  688.   bbsExtDL.baud - Allows access to CD-ROM drives, extra floppies,
  689.      harddrives, partitions, or just assigned areas to be treated as
  690.      "Read-Only" devices.
  691.      Enter a space separated device list on line 10 of CONFIG.BBS.
  692.      Devices on this list are handled separately from the rest of the BBS
  693.       file libraries, and do not have filenotes, unless they are referenced
  694.       using "links" (see below).
  695.  
  696.   bbsNewFile.rexx - If activated, automatically makes an archive copy of
  697.      each file uploaded to the BBS and sets the archive bit of the file
  698.      in the library. TO ACTIVATE this feature, put bbsNewFile.rexx into
  699.      a text editor and replace "NO_DIR:" with a valid pathname.
  700.  
  701.  
  702.  
  703. *****************************  rexxDoors  ****************************
  704.  
  705. rexxDoors:
  706.  
  707. Almost ANY rexx program that uses NO GRAPHICS OTHER THAN CHARACTERS can
  708. be easily made into a rexxDoors program. Just add these lines at the top:
  709.  
  710.     CR="0D"x
  711.     SIGNAL ON BREAK_C
  712.     SIGNAL ON BREAK_E
  713.  
  714. and these lines at the bottom, just before the main RETURN or EXIT:
  715.  
  716.     BREAK_C:
  717.     BREAK_E:
  718.  /* <-- might put "SetClip('BBS_winnings',winnings)" routine here */
  719.     EXIT;
  720.  
  721. and lastly, search the text for all instances of "SAY" and add "||CR" to
  722. the END of each SAY command.
  723.   SAY 'Here we go.' becomes SAY 'Here we go.'CR or SAY 'Here we go.'||CR
  724.  
  725. If you want the rexxDoor to check for a disconnect, you can call the
  726. following subroutine periodically, ie, IF checkdcd() THEN SIGNAL BREAK_C
  727.              checkdcd:
  728.              IF ADDRESS()~='BAUD' THEN RETURN 0
  729.              dcd
  730.              IF RC=0 THEN RETURN 1
  731.              RETURN 0
  732.  
  733. Any "PULL" commands in the rexx script will take input from the user,
  734. and any "SAY" commands will be sent out the modem.
  735.  
  736. All rexxDoors programs are sent the user name and his "winnings" as the
  737. command argument. ie,
  738.  
  739.        doorprogram.rexx(name winnings 0_or_seconds colorflag)
  740.  
  741. If cash_or_seconds=0, then we are playing for play-money cash (which is
  742. remembered from session to session). If cash_or_seconds>0 then the user
  743. is playing for the seconds remaining in this session. There is no
  744. requirement that the rexxDoors program use ANY of these arguments. If
  745. the rexxDoors program should return a "winnings" amount, it should do a
  746. "CALL SETCLIP('BBS_winnings',winnings)" before it returns.
  747.  
  748. rexxDoors can also connect non-rexx programs to the BBS.
  749.   1. Program must output ONLY to the CLI. (no graphics, no windows, etc.)
  750.   2. Then write a little program like this and put it in rexxDoors. Note
  751. that in this example, the Dungeon files have been put in a drawer within
  752. the rexxDoors drawer, rexxDoors/Data. This location is arbitrary.
  753.  
  754. -----------------------------cut-here----------------------------------
  755.  
  756. /* Dungeon.rexx  - starts up AmigaDungeon with redirects */
  757.  
  758. LF='0A'x
  759. CR='0D'x
  760. bbspath=GETCLIP('BBS_path')
  761.  
  762. PARSE ARG name winnings flag colorflag .
  763.  
  764. /* give any addition information needed by the user */
  765.  
  766. SAY CR
  767. SAY 'Your terminal should add a carraige-return to each received linefeed.'CR
  768. SAY CR
  769. SAY '            No carraige-returns are generated by Dungeon!'CR
  770. SAY CR
  771. SAY 'Enter INFO for general game information. Enter HELP for help and hints.'CR
  772. SAY CR
  773. SAY '       Loading...  Please wait for prompt character > to appear.'CR
  774. SAY CR
  775.  
  776. /* point this macro at the Dungeons drawer so that Dungeon can find its data */
  777. /* This may or may not be necessary for your particular application. */
  778.  
  779. CALL PRAGMA('D',bbspath'rexxDoors/Data')
  780.  
  781. /* Run the game, redirecting input and output to the console (BaudBandit) */
  782.  
  783. ADDRESS COMMAND 'CD' bbspath'rexxDoors/Data'LF'dungeon <* >*'
  784.  
  785. EXIT;
  786.  
  787. /* end of Dungeon.rexx */
  788.  
  789. -----------------------------cut-here----------------------------------
  790.  
  791. NOTE!  There is no practical way to abort this kind of door once it is
  792.         started, so beware of users who abuse their time limits!
  793.  
  794.  
  795. *******************************   Misc   *****************************
  796.  
  797. REXXSPELL:
  798.  
  799. To use RxSpell (SpellBBS.lzh) with BBBBS, simply set the proper path
  800. and turn on spellchecking in CONFIG.BBS. You must have plenty of RAM
  801. to use spellchecking as it may use 300k-500k all by itself. On the
  802. other hand, it's fairly fast once it is all been loaded.
  803.  
  804.  
  805.  
  806. RATIO:
  807.  
  808. Download/Upload Ratio:  User data line 17, Word 1    -  0=DISABLED
  809.  
  810.    Example: 5 means user will be refused downloading if
  811.        DownloadBytes divided by UploadBytes exceeds 5.0,
  812.        and bbs_preferences has Down/Upload Ratios set to ON (1).
  813.  
  814.  
  815.  
  816.  
  817. FILE LISTS:
  818.  
  819.   If you feel you really MUST get in there and futz around with a file,
  820. remember this. Changes in a file or filenote can effect _5_ different
  821. files (at least). The file itself (say, "BBS_LIBS/Text/MyPoem.lzh"),
  822. the filenote ("FileNotes/Text/MyPoem.lzh"), the general filelist (this
  823. file, "Lists/Files", is VERY important to the system!), the alphabetical
  824. list ("Lists/File.ALPHA"), and the upload counter ("Numbers/LastFile").
  825. It is best to do file maintenance from within the BBS and let the
  826. software worry about what files need changing and rearranging.
  827.  
  828.  
  829.  
  830.  
  831. LINKS:
  832.  
  833.    To add a file to the libraries that will be located somewhere other
  834. than the normal BBS_LIBS...
  835.  
  836. 1. "Point" BBBBS at the appropriate library by entering the library
  837. number (BBBBS will try to show new files. When it is thru, the current
  838. library will be the one you picked).
  839.  
  840. 2. Attempt to edit a filenote using the "%" command, and the name of
  841. the file you wish to add. When asked if this file is "on another device?"
  842. answer "Y" and enter the FULL path and filename for the file. This "link"
  843. is stored in the filecomment of the description.
  844.  
  845. 3. Now this file will be treated as if it is in the libraries, stats will
  846. be kept on it, etc., but it will be downloaded from the link path.
  847.  
  848.  
  849. You can also move a file already in the BBS_LIBS to another device.
  850. Handy when the only way to expand your BBS is to purchase a second HD,
  851. or perhaps redirect some of the filelist to be downloaded from a CD-ROM,
  852. external floppy, etc.
  853.  
  854. 1. move the file, but not the filenote.
  855.  
  856. 2. use the C:FileNote command to enter the new path to the old file in
  857.     the comment field of the file description. Use the *full* name, ie
  858.  
  859. C:FileNote BBS:FileNotes/Text/Thisfile.lha "HD2:Overflow/Text/Thisfile.lha"
  860.  
  861. Note that the file report will tell you to compare files and filenotes
  862. in that directory, but won't list a filename, as it does for files that
  863. don't have filenotes yet. Just ignore it.
  864.  
  865.  
  866.  
  867.  
  868. BIRTHDAYS:
  869.  
  870.    Each user is supposed (but not required) to enter his birthday when
  871. filling out the application for membership. This is used in computing
  872. the age of the average BBS user. In addition, if the user calls BBBBS
  873. on his birthday, she will see a simple birthday greeting. If a textfile
  874. called "BBS_TEXT/BIRTHDAY" exists, that file will also be displayed.
  875.  
  876.  
  877.  
  878.  
  879. SOUNDS:
  880.  
  881. Some people with newer Amigas have been having trouble with BaudBandit's
  882. Beep command not working and causing the BBS to hang, so I have removed
  883. all of these commands as of BBBBS version 5.9 and replaced them sounds.
  884. Line 28 of CONFIG.BBS now controls whether all sounds are on/off, not
  885. just the YELL sound.
  886.  
  887. The following sounds are called by BBBBS. You may substitute your own
  888. sounds instead, just rename them to one of the choices below. You can
  889. disable an individual sound simply by renaming, moving, or deleting it.
  890.  
  891. ALERT     - This sound should be short (if you use it) as it may be
  892.              sounded several times depending on bbsSounds.rexx.
  893.              NOTE: As of 6.0 this sound MAY be replaced by specific
  894.                    sounds for TFAIL, LOST, TIMEOUT, and ATZ_FAIL
  895.  
  896. ATZ_FAIL  - Sounds if ATZ does not return "OK". (modem is inoperative).
  897.  
  898. CBV       - Sounds as Call Back Verify starts to call back.
  899.  
  900. DOWNLOAD  - Sounds as the dl starts.
  901.  
  902. FEEDBACK  - Sounds whenever email (or a message) is written to sysop.
  903.  
  904. INFO      - Sounds when the Information area is entered.
  905.  
  906. JUMP      - Sounds when the rexxDoors area is entered.
  907.  
  908. LOGOFF    - Sounds after user data is saved for the last time.
  909.  
  910. LOGON     - Sounds right after password is accepted.
  911.  
  912. LOST      - Sounds if CARRIER is LOST.
  913.  
  914. MESSAGE   - Sounds when the editor is entered (Uses FEEDBACK if to sysop)
  915.  
  916. NEW_FILE  - Sounds when a new file is completely uploaded and checked.
  917.  
  918. NEW_USER  - Sounds when new user replies [Y]es, she wants to register.
  919.  
  920. TFAIL     - Sounds if a transfer fails (upload or download).
  921.  
  922. UPLOAD    - Sounds as the upload starts.
  923.  
  924. TIMEOUT   - Sounds when user is logged off due to inactivity.
  925.  
  926. YELL      - Sounds on "!" command from menu. "!" also triggers voice, so
  927.              this sound needs to be fairly small and short.
  928.  
  929.  
  930. All sounds are played by "Sound", which should be in your C: directory.
  931. The syntax used is "c:run >nil: c:sound <soundfile>", so you'll need to
  932. have "run" in your C: directory too. You can edit bbsSounds.rexx to add
  933. effects to the sounds played, or substitute other sounds.
  934.  
  935. You can also turn off BOTH Sounds and Speach by setting a clip from CLI.
  936.  
  937.          rxset  BBS_NOISE  OFF
  938.  
  939. Note that the clip and command must be in ALL CAPS.
  940.  
  941.  
  942. If you want a sound to occur when the modems first CONNECT, enter
  943.  
  944. DCDHi   \m"c:run >nil: c:sound <soundfile>"
  945.  
  946. in BaudBandit's config file (in the DCDHi field). Replace <soundfile>
  947. with the FULL PATH to your chosen soundfile. DCDLow usually happens too
  948. close to the LOGOFF sound to be of much use.
  949.  
  950.  
  951.  
  952.                    ***  G O O D    L U C K  ***
  953.  
  954.  
  955. ***********************  end of BBBBS.doc  ***************************
  956.